export const incomeChartOption = {
  backgroundColor: 'transparent',
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'shadow'
    },
    formatter: function (params) {



      let html = `${params[0].name}<br/>`;
      params.forEach(item => {

        if (item.seriesIndex < 3) {
          html += `${item.marker} ${item.seriesName}: ${item.value || item.value === 0 ? item.value : '--'}${item.seriesIndex === 1 ? '%' : ''}<br/>`;
        } else {
          html += ''
        }

      });
      return html;


    }
  },
  legend: {
    data: ['储能收益', '储售收益', '储售结合后提升的收益占比1', '储售结合后提升的收益占比曲线'],
    textStyle: {
      color: '#fff'
    },
    top: 0,
    left: 0,
  },
  grid: {
    left: '3%',
    right: '4%',
    bottom: '3%',
    top: '6%',
    containLabel: true
  },
  xAxis: [
    {
      type: 'value',
      name: '',

      axisLabel: {
        formatter: '{value}',
        color: '#fff',
        fontSize: 12
      },
      axisLine: {
        show: true,
        lineStyle: {
          color: 'rgba(255, 255, 255,0.3)'
        }
      },
      axisTick: {
        show: false
      },
      splitLine: {
        lineStyle: {
          color: 'rgba(255, 255, 255,0.3)',
          type: 'dashed'
        }
      }
    },
    // 添加第二个X轴，用于显示占比
    {
      type: 'value',
      name: '占比',
      show: false,
      nameTextStyle: {
        color: '#ff9a2e',
        fontSize: 12
      },
      min: 0,
      max: 100,
      interval: 10,
      position: 'top',
      axisLine: {
        show: true,
        lineStyle: {
          color: 'rgba(255, 154, 46, 0.3)'
        }
      },
      axisLabel: {
        formatter: '{value}%',
        color: '#ff9a2e',
        fontSize: 12
      },
      axisTick: {
        show: false
      },
      splitLine: {
        show: false
      }
    }

  ],
  yAxis: {
    type: 'category',
    data: [],
    axisLine: {
      lineStyle: {
        color: 'rgba(255, 255, 255,0.3)'
      }
    },
    axisTick: {
      show: false
    },
    axisLabel: {
      color: '#fff',
      fontSize: 12
    }
  },
  series: [

    {
      name: '储能收益',
      type: 'bar',
      stack: 'total',
      barWidth: 20,
      emphasis: {
        focus: 'series'
      },
      itemStyle: {
        color: '#0f7a85'
      },
      data: []
    },
    {
      name: '储售结合后提升的收益占比',
      type: 'bar',
      stack: 'total',
      barWidth: 20,
      xAxisIndex: 1,
      emphasis: {
        focus: 'series'
      },
      itemStyle: {
        color: '#1e4976'
      },
      data: []
    },
    {
      name: '储售收益',
      type: 'bar',
      stack: 'total',
      barWidth: 20,
      emphasis: {
        focus: 'series'
      },
      itemStyle: {
        color: '#3effe8'
      },
      data: []
    },
    {
      name: '储售结合后提升的收益占比曲线',
      type: 'line',
      symbol: 'circle',
      symbolSize: 5,
      itemStyle: {
        color: '#ff9a2e'
      },
      lineStyle: {
        color: '#ff9a2e',
        width: 2
      },
      smooth: true,
      xAxisIndex: 1,
      data: [],
      encode: {
        x: 0,
        y: 1
      },
      z: 9,
      showSymbol: true,

    },
    // {
    //   name: '储售结合后提升的收益占比-标记',
    //   type: 'custom',

    //   renderItem: function (params, api) {
    //     const totalValues = [];
    //     const points = [];

    //     // 获取所有点的位置信息
    //     for (let i = 0; i < 13; i++) {
    //       const totalValue = api.value(0, i) + api.value(1, i);
    //       totalValues.push(totalValue);
    //       points.push(api.coord([totalValue, i]));
    //     }

    //     const children = [];

    //     // 添加当前点和文本
    //     const point = points[params.dataIndex];
    //     const percentValue = api.value(1, params.dataIndex);

    //     children.push({
    //       type: 'circle',
    //       shape: {
    //         cx: point[0],
    //         cy: point[1],
    //         r: 3
    //       },
    //       style: {
    //         fill: '#ff9a2e'
    //       }
    //     });

    //     children.push({
    //       type: 'text',
    //       style: {
    //         text: percentValue + '%',
    //         textAlign: 'left',
    //         textVerticalAlign: 'middle',
    //         fontSize: 12,
    //         fill: '#ff9a2e',
    //         x: point[0],
    //         y: point[1]
    //       }
    //     });

    //     return {
    //       type: 'group',
    //       children: children
    //     };
    //   },
    //   encode: {
    //     x: [0, 1, 2, 3, 4],
    //     y: 5
    //   },
    //   data: [
    //     [150, 12, 300, 12, 0],
    //     [100, 9.5, 150, 9.5, 1],
    //     [100, 8.5, 150, 8.5, 2],
    //     [150, 10.6, 200, 10.6, 3],
    //     [100, 8.9, 150, 8.9, 4],
    //     [150, 11.8, 250, 11.8, 5],
    //     [100, 10.3, 200, 10.3, 6],
    //     [150, 12.1, 300, 12.1, 7],
    //     [100, 9.2, 150, 9.2, 8],
    //     [100, 8.3, 150, 8.3, 9],
    //     [150, 11.1, 200, 11.1, 10],
    //     [100, 8.5, 150, 8.5, 11],
    //     [150, 15.3, 300, 15.3, 12]
    //   ],
    //   z: 10,
    //   tooltip: {
    //     show: false
    //   },
    //   legendHoverLink: false,
    //   showSymbol: false,
    //   showAllSymbol: false,
    //   silent: true
    // }
  ]
};

// // 添加图例联动控制
// const originalLegendSelect = incomeChartOption.legend.selected || {};
// incomeChartOption.legend.selected = originalLegendSelect;



// // 确保当点击"储售结合后提升的收益占比"图例时，同时控制标记系列的显示/隐藏
// incomeChartOption.legend.selectedMode = 'multiple';
// incomeChartOption.legend.selected = {
//   '综合收益': true,
//   '储能收益': true,
//   '批发侧降本收益': true,
//   '零售收益': true,
//   '储售结合后提升的收益占比': true
// };

// // 使用箭头函数保持正确的this上下文
// incomeChartOption.legend.selectChanged = (name, selected) => {
//   // 特殊处理"储售结合后提升的收益占比"
//   if (name === '储售结合后提升的收益占比') {
//     // 同步更新标记系列的显示状态
//     incomeChartOption.legend.selected['储售结合后提升的收益占比-标记'] = selected;
//   }

//   // 调用原有的selectChanged回调（如果有的话）
//   if (originalLegendSelectChanged) {
//     originalLegendSelectChanged(name, selected);
//   }
// };


// incomeChartOption.legend.selectChanged = function (name, selected, selectedList) {
//   // 确保所有series都有正确的type定义
//   const series = incomeChartOption.series;
//   series.forEach(s => {
//     if (!s.type) {
//       s.type = s.type || 'bar'; // 为所有series设置默认type
//     }
//   });

//   // 特殊处理"储售结合后提升的收益占比"及其标记
//   if (name === '储售结合后提升的收益占比') {
//     const markerIndex = series.findIndex(s => s.name === '储售结合后提升的收益占比-标记');
//     if (markerIndex >= 0) {
//       series[markerIndex].silent = !selected;
//     }
//   }
// };

